home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #1 / Amiga Plus CD - 2000 - No. 1.iso / c / MPGui.doc < prev    next >
Text File  |  1999-12-03  |  19KB  |  643 lines

  1.  
  2.  
  3. TABLE OF CONTENTS
  4.  
  5. MPGui.library/--background--
  6. MPGui.library/--RunMPGui--
  7. MPGui.library/AllocMPGuiHandleA
  8. MPGui.library/FreeMPGuiHandle
  9. MPGui.library/MPGuiCurrentAttrs
  10. MPGui.library/MPGuiError
  11. MPGui.library/MPGuiResponse
  12. MPGui.library/MPGuiWindow
  13. MPGui.library/ReadMPGui
  14. MPGui.library/RefreshMPGui
  15. MPGui.library/SetMPGuiGadgetValue
  16. MPGui.library/SyncMPGuiRequest
  17. MPGui.library/WriteMPGui
  18.  
  19.  
  20. MPGui.library/--background--                      MPGui.library/--background--
  21.  
  22.  MPGui provides an easy way to display simple single colum requesters with
  23.  File/String/Number/Slider/Cycle/Check/ScreenMode/List gadgets.
  24.  
  25.  It uses a text input file to specify the format of the Gui.
  26.  
  27.  Menus can be provided.
  28.  
  29.  Bottom gadgets can be "Ok/Cancel" for normal gadgets or "Save/Use/Cancel"
  30.  for preferences requesters.
  31.  From Version 5.2 the short cuts for these buttons will automatically be
  32.  disabled if required. The library is also localised.
  33.  
  34.  From Version 5.4 opens locale.library(38) to work on OS3.0.
  35.  
  36.  Normal Help and continuous Help is supported.
  37.  
  38.  Keyboard shortcuts are supported.
  39.  
  40.  The format of the file is:
  41.  
  42.  * comment
  43.                   Comment line
  44.  
  45.  Any #n# (n>=0) will be replaced by parameters if supplied
  46.  ## is changed to # if parameters are supplied
  47.  
  48.  Some standard C conversions are done with \ values
  49.   \\ -> \
  50.   \" -> "
  51.   \t -> tab
  52.   \n -> newline
  53.  
  54.  "command "HelpMessage
  55.         etc.      Command (etc. is ignored)
  56.   "Comment"       Comment for heading of requester
  57.   "HelpNode"      Global Help Node for requester
  58.   GADGET "Title":"prefix"!HelpNode!HelpMessage!
  59.                          A Gadget
  60.                          GAGDET is type of gadget (see below).
  61.                          "Title" is gadget title
  62.                          "prefix" appears before the value in the result
  63.                                   if prefix includes %s then result
  64.                                   replaces %s instead
  65.                          !HelpNode! is optional help string to
  66.                                     use in call back
  67.                          !HelpMessage is displayed in text gadget at top
  68.  
  69.   LFILE "Title":"prefix":"def"!Help!
  70.                   Input file string and request gadget
  71.                   Key activates
  72.                   Right shift and key shows requester
  73.   SFILE "Title":"prefix":"def"!Help!
  74.                   Output file string and gadget
  75.                   Key activates
  76.                   Right shift and key shows requester
  77.   FILE "T":"P":"def"!Help!
  78.                   File string and request (input file)
  79.                   Key activates
  80.                   Right shift and key shows requester
  81.   OFILE "T":"P":"def":Y/N!Help!
  82.                   Optional file (has checkbox)
  83.                   Key toggles and activates if becomes selectable
  84.                   Left shift and key activates if selectable
  85.                   Right shift and key shows requester if selectable
  86.   ONUMBER "T":"P":"def":Y/N!Help!
  87.                   Optional number (has checkbox)
  88.                   Key toggles and activates if becomes selectable
  89.                   Left shift and key activates if selectable
  90.   NUMBER "T":"P":"def"!Help!
  91.                   Number
  92.                   Key activates
  93.   CYCLE "Title"!Help!
  94.                   Cycle gadget, each entry can be followed by other gadgets
  95.                   Key cycles
  96.                   Shift and key cycles back
  97.         "value1":"Prefix1"
  98.         "value2":"Prefix2"
  99.      gadgets      
  100.                   Only active when item is 2
  101.         "value3":"Prefix3"
  102.   ENDCYCLE:"number or valuen" 
  103.                   Finished by default value (numeric or string)
  104.   STRING "Title":"prefix":"def"!Help!
  105.                   String - use for floating point as well
  106.                   Key activates
  107.   OSTRING "Title":"prefix":"def":Y/N!Hlp!
  108.                   String with checkbox
  109.                   Key toggles and activates if becomes selectable
  110.                   Left shift and key activates if selectable
  111.   CHECK "T":"P":"NPrefix":Y/N!Help
  112.                   Check box gadget
  113.                   NPrefix (optional) used if Check not selected
  114.                   Key toggles
  115.   SLIDER "T":"P":"min":"max":"def"!Hlp!
  116.                   Slider gadget
  117.                   Key increases
  118.                   Shift and key decreases
  119.   MODEn "T":"P":"def"!Help!
  120.                   Screen Mode requester
  121.                   Key shows requester
  122.                   n == 1 -> Workbench modes
  123.                        2 -> Workbench modes + NONE
  124.                        3 -> All modes
  125.                        4 -> All modes + NONE (3 and 4 do not work too well)
  126.   OMODEn "T":"P":"def":Y/N!Help!
  127.                   Optional Screen Mode requester
  128.                   Key toggles
  129.                   Right shift and key shows requester if selectable
  130.   FONTn "T":"P":"def"!Help!
  131.                   Font requester
  132.                   Key shows requester
  133.                   n == 1 -> All Fonts
  134.                        2 -> Fixed width only
  135.   OFONTn "T":"P":"def":Y/N!Help!
  136.                   Optional Font requester
  137.                   Key toggles
  138.                   Right shift and key shows requester if selectable
  139.   LIST "Title":!Help!
  140.                   List view
  141.                   Key cycles
  142.                   Shift and key cycles back
  143.        "value1":"prefix1"
  144.        "value2":"prefix2"
  145.   ENDLIST:"number or valuen":"lines"
  146.                   finished by default value and lines (optional) default 4
  147.   MLIST "Title":!Help!
  148.                   List view
  149.                   Key cycles
  150.                   Left shift and key cycles back
  151.                   Right shift and key toggles selected
  152.        "value1":"prefix1":"NPrefix1" (Negative Prefix optional)
  153.        "value2":"prefix2"
  154.   ENDMLIST:"values":"lines"
  155.                   finished by default selected values (space seperated)
  156.                   and lines (optional) default 4
  157.   BUTTON "Title"  List of button gadgets - horizontal
  158.                   If Title zero length then full width is used
  159.        "Button text1":"n"!Help!HelpMessage!  n is number of button
  160.        "Button text2":"m"!Help!HelpMessage!
  161.   ENDBUTTON
  162.   TEXT "Title":"def"Y/N!Help!HelpMessage!    (added in 5.1)
  163.                   Text - If title 0 length then full width
  164.                   Y to Center Text
  165.   MTEXT "def"Y/N!Help!HelpMessage!    (added in 5.1)
  166.                   Text without border
  167.                   Y to Center Text
  168.  
  169. MPGui.library/--RunMPGui--                          MPGui.library/--RunMPGui--
  170.  
  171.  RunMPGui provides a simple Shell interface to MPGui.library
  172.  
  173.  Parameters are:
  174.  
  175.  FROM/A       Input GUI file
  176.  TO/K         Output file
  177.  RELMOUSE/S   Open reqester by the pointer
  178.  PUBSCREEN/K  Specify the public screen to open on
  179.  HELP/K       AmigaGuide file to show help
  180.  CHELP/S      Show help continuously
  181.  NEWLINE/S    Put a new line between each gadget
  182.  PREFS/S      Show Save/Use/Cancel gadgets rather than OK/Cancel
  183.  BUTTONS/K    Command to run when a button is pressed
  184.  NOBUTTONS/S  Do not show OK/Cancel gadgets
  185.  PARAMS/K/M   Parameters to substitute in GUI file
  186.  
  187.  The BUTTON command should be specified as "command %ld %ld"
  188.  
  189.  The command is then passed two numbers - the address of the handle and
  190.  the number of the button.
  191.  
  192.  Return a failure from this command to Cancel the GUI.
  193.  
  194.  The response from MPGui is:
  195.  
  196.    0 if OK is pressed;
  197.    5 if Cancel is pressed;
  198.   10 if there is an error in the GUI file;
  199.   20 if there is some fatal error.
  200.  
  201.  Version 5 - Refreshes windows when a requester is open
  202.              Tries amigaguide.library version 34
  203.  Version 5.2 - Localised.
  204.  Version 5.3 - non beta
  205.  Version 5.4 - Opens locale.library(38) to work on OS3.0.
  206.  
  207. MPGui.library/AllocMPGuiHandleA                MPGui.library/AllocMPGuiHandleA
  208.  
  209.    NAME   
  210.   AllocMPGuiHandleA -- Allocates an MPGuiHandle. (V3)
  211.   AllocMPGuiHandle -- Varargs version of AllocMPGuiHandleA (V3)
  212.  
  213.    SYNOPSIS
  214.   gh = AllocMPGuiHandleA(taglist)
  215.   D0                     A0
  216.  
  217.   struct MPGuiHandle * AllocMPGuiHandleA(struct TagItem *);
  218.  
  219.   gh = AllocMPGuiHandle(Tag1, ...)
  220.  
  221.   struct MPGuiHandle * AllocMPGuiHandle(ULONG,...);
  222.  
  223.    FUNCTION
  224.   Allocates an MPGuiHandle.
  225.  
  226.    INPUTS
  227.   taglist - pointer to TagItem array.
  228.  
  229.   Tags are:
  230.  
  231.   MPG_PUBSCREENNAME - Data is char * name of public screen to use.
  232.                       Default is default public screen.
  233.   MPG_RELMOUSE      - Data is BOOL. TURE to open requester near pointer.
  234.                       Default is FALSE.
  235.   MPG_HELP          - Data is struct Hook *, called with object=char * to
  236.                       help node to be displayed.
  237.   MPG_CHELP         - Call help when gadget changes
  238.   MPG_PARAMS        - Data is char ** array of parameters
  239.   MPG_NEWLINE       - Data is BOOL. TRUE means new line rather than space
  240.                       in output, no "s round files or screen modes.
  241.                       Default is FALSE.
  242.   MPG_PREFS         - Data is BOOL. Default FALSE. TRUE provides
  243.                       _Save/_Use/_Cancel gadgets, Use MPGuiResponse() to
  244.                       get response (1=Save 2=Use), Esc key will not exit.
  245.   MPG_MENUS         - Data is struct NewMenu *.
  246.   MPG_MENUHOOK      - Data is struct Hook *, called with
  247.                       object=struct IntuiMsg *, message = struct Menu *
  248.                       If MPG_HELP is set then called for MENUHELP as well.
  249.                       Return 0 to quit, non 0 to continue.
  250.   MPG_SIGNALS       - Data is ULONG signals to wait for then call hook
  251.                       provided in MPG_SIGNALHOOK.
  252.   MPG_SIGNALHOOK    - Data is struct Hook *, called with
  253.                       object = ULONG signals received,
  254.                       message = ULONG notused
  255.                       Return 0 to quit, non 0 to continue.
  256.   MPG_CHECKMARK     - Data is struct Image * for menu checkmark
  257.   MPG_AMIGAKEY      - Data is struct Image * for menu AmigaKey
  258.   MPG_BUTTONHOOK        - Data is struct Hook *,
  259.                       called with object=struct MPGuiHandle *,
  260.                       message = number of button
  261.                       Return 0 to quit, non 0 to continue.
  262.   MPG_NOBUTTONS     - If set then no buttons are shown, overrides MPG_PREFS.
  263.  
  264.    RESULT
  265.   gh - Allocated MPGuiHandle.
  266.        NULL on error (no memory).
  267.  
  268.    EXAMPLE
  269.  
  270.    NOTES
  271.  
  272.    BUGS
  273.   The allocated handle has a max size of about 3K for the response.
  274.   The maximum parameter replaced line length is about 2K.
  275.   FONT? gadgets ignore the size at the moment.
  276.   If there are more than 3 BUTTON gadgets in a row then they are left
  277.   justified - should be fully justified.
  278.   Button layout may not yet be correct.
  279.  
  280.    SEE ALSO
  281.   FreeMPGuiHandle(),MPGuiResponse().
  282.  
  283. MPGui.library/FreeMPGuiHandle                    MPGui.library/FreeMPGuiHandle
  284.  
  285.    NAME   
  286.   FreeMPGuiHandle -- Frees a Handle allocated by AllocMPGuiHandleA(). (V3)
  287.  
  288.    SYNOPSIS
  289.   FreeMPGuiHandle( gh)
  290.                    A0
  291.  
  292.   void FreeMPGuiHandle( struct MPGuiHandle *);
  293.  
  294.  
  295.    FUNCTION
  296.   Frees a Handle allocated by AllocMPGuiHandleA().
  297.  
  298.    INPUTS
  299.   gh - Handle allocated by AllocMPGuiHandleA.
  300.  
  301.    RESULT
  302.   None.
  303.  
  304.    EXAMPLE
  305.  
  306.    NOTES
  307.  
  308.    BUGS
  309.  
  310.    SEE ALSO
  311.   AllocMPGuiHandleA().
  312.  
  313. MPGui.library/MPGuiCurrentAttrs                MPGui.library/MPGuiCurrentAttrs
  314.  
  315.    NAME   
  316.   MPGuiCurrentAttrs -- Returns the Current MPGui attributes. (V3)
  317.  
  318.    SYNOPSIS
  319.   Attrs = MPGuiCurrentAttrs( gh)
  320.   D0                          A0
  321.  
  322.   char * MPGuiCurrentAttrs( struct MPGuiHandle *);
  323.  
  324.    FUNCTION
  325.   Returns the same as would be returned by SyncMPGuiRequest if the OK gadget
  326.   is pressed now.
  327.  
  328.    INPUTS
  329.   gh - An MPGuiHandle currently being used by SyncMPGuiRequest().
  330.  
  331.    RESULT
  332.   Attrs - String that would be returned SyncMPGuiRequest.
  333.  
  334.    EXAMPLE
  335.  
  336.    NOTES
  337.   This should be called from a MPG_MENUHOOK supplied to AllocMPGuiHandle().
  338.   e.g. If a Save As... menu item is called.
  339.  
  340.    BUGS
  341.  
  342.    SEE ALSO
  343.   SyncMPGuiRequest().
  344.  
  345. MPGui.library/MPGuiError                              MPGui.library/MPGuiError
  346.  
  347.    NAME   
  348.   MPGuiError -- Returns the error message for an MPGuiHandle. (V3)
  349.  
  350.    SYNOPSIS
  351.   Message = MPGuiError(gh )
  352.   D0                   A0
  353.  
  354.   char * MPGuiError( struct MPGuiHandle *);
  355.  
  356.    FUNCTION
  357.   Returns the error message for an MPGuiHandle.
  358.  
  359.    INPUTS
  360.   gh - MPGuiHandle allocated by AllocMPGuiHandleA().
  361.  
  362.    RESULT
  363.   Message - The text of an error message. May be multi line.
  364.  
  365.    EXAMPLE
  366.  
  367.    NOTES
  368.   Use after SyncMPGuiRequest() returns -1.
  369.  
  370.    BUGS
  371.  
  372.    SEE ALSO
  373.   SyncMPGuiRequest().
  374.  
  375. MPGui.library/MPGuiResponse                        MPGui.library/MPGuiResponse
  376.  
  377.    NAME   
  378.   MPGuiResponse -- returns the response from a Prefs MPGui. (V3)
  379.  
  380.    SYNOPSIS
  381.   resp = MPGuiResponse( gh)
  382.   D0                   A0
  383.  
  384.   ULONG MPGuiResponse( struct MPGuiHandle *);
  385.  
  386.    FUNCTION
  387.   Returns the response after calling SyncMPGuiRequest() with MPG_PREFS.
  388.  
  389.    INPUTS
  390.   gh - An MPGuiHandle.
  391.  
  392.    RESULT
  393.   resp - MPG_SAVE Save gadget was pressed.
  394.          MPG_USE  Use gadget was pressed.
  395.  
  396.    EXAMPLE
  397.  
  398.    NOTES
  399.   Only use if SyncMPGui() returns not (0 or -1).
  400.  
  401.    BUGS
  402.  
  403.    SEE ALSO
  404.   AllocMPGuiHandleA(),SyncMPGuiRequest().
  405.  
  406. MPGui.library/MPGuiWindow                            MPGui.library/MPGuiWindow
  407.  
  408.    NAME   
  409.   MPGuiWindow -- Returns the Window for an MPGui. (V5)
  410.  
  411.    SYNOPSIS
  412.   Window = MPGuiWindow(gh)
  413.   D0                   A0
  414.  
  415.   struct Window *MPGuiWindow(struct MPGuiHandle *);
  416.  
  417.    FUNCTION
  418.   Returns the Window for an MPGui.
  419.  
  420.    INPUTS
  421.   gh    - MPGuiHandle allocated by AllocMPGuiHandle().
  422.  
  423.    RESULT
  424.   The Window for the GUI - if open.
  425.  
  426.    EXAMPLE
  427.  
  428.    NOTES
  429.   Use in a call back hook - e.g. if a menu item opens a file requester.
  430.  
  431.    BUGS
  432.  
  433.    SEE ALSO
  434.   AllocMPGuiHandleA(), SyncMPGuiRequest().
  435.  
  436. MPGui.library/ReadMPGui                                MPGui.library/ReadMPGui
  437.  
  438.    NAME   
  439.   ReadMPGui -- Reads information for an MPGui. (V4)
  440.  
  441.    SYNOPSIS
  442.   result = ReadMPGui( fname, gh)
  443.   D0                         A0     A1
  444.  
  445.   BOOL ReadMPGui( char *, struct MPGuiHandle *);
  446.  
  447.    FUNCTION
  448.   Reads all the information in the file for an MPGuiHandle allocated by
  449.   AllocMPGuiHandle().
  450.  
  451.    INPUTS
  452.   fname - name of file describing gui.
  453.   gh    - MPGuiHandle allocated by AllocMPGuiHandle().
  454.  
  455.    RESULT
  456.   TRUE if file read OK
  457.   FALSE for error. Use MPGuiError() to get error.
  458.  
  459.    EXAMPLE
  460.  
  461.    NOTES
  462.   Ignores any tags supplied to AllocMPGuiHandleA().
  463.  
  464.   This currently serves no purpose, but may be later used for a gui based
  465.   gui designer.
  466.  
  467.    BUGS
  468.  
  469.  Currently does nothing!
  470.  Does not handle TEXT/MTEXT
  471.  
  472.    SEE ALSO
  473.   AllocMPGuiHandleA(),MPGuiError(),WriteMPGui().
  474.  
  475. MPGui.library/RefreshMPGui                          MPGui.library/RefreshMPGui
  476.  
  477.    NAME   
  478.   RefreshMPGui -- Refreshes an MPGui Window. (V5)
  479.  
  480.    SYNOPSIS
  481.   RefreshMPGui(gh)
  482.                A0
  483.  
  484.   void RefreshMPGui(struct MPGuiHandle *);
  485.  
  486.    FUNCTION
  487.   Refreshes an MPGui Window.
  488.  
  489.    INPUTS
  490.   gh    - MPGuiHandle allocated by AllocMPGuiHandle().
  491.  
  492.    RESULT
  493.   None
  494.  
  495.    EXAMPLE
  496.  
  497.    NOTES
  498.   Use in a call back hook - e.g. if a menu item opens a file requester.
  499.  
  500.    BUGS
  501.  
  502.    SEE ALSO
  503.   AllocMPGuiHandleA(), SyncMPGuiRequest().
  504.  
  505. MPGui.library/SetMPGuiGadgetValue            MPGui.library/SetMPGuiGadgetValue
  506.  
  507.    NAME   
  508.   SetMPGuiGadgetValue -- Sets the value of an MPGui gadget. (V3)
  509.  
  510.    SYNOPSIS
  511.   succ = SetMPGuiGadgetValue( gh, Title, Value)
  512.   D0                          A0  A1     A2
  513.  
  514.   BOOL SetMPGuiGadgetValue( struct MPGuiHandle *, char *, char *);
  515.  
  516.    FUNCTION
  517.   Sets the value of a gadget currently being displayed by
  518.   SyncMPGuiRequest().
  519.  
  520.    INPUTS
  521.   gh    - MPGuiHandle being displayed by SyncMPGuiRequest().
  522.   Title - Title of the gadget as in the input file.
  523.   Value - Value of the gadget.
  524.           Y/N for a CHECKs.
  525.           A String for Strings/Files/Modes.
  526.           A String (which is converted using strtol) for Numbers/Sliders.
  527.           A value or number in the list/cycle for lists/cycles.
  528.           Values strung together sperated by space for an MLIST gadget
  529.  
  530.    RESULT
  531.   error - 1 for success, 0 for failure.
  532.           Error means gadget not found or Value not found.
  533.  
  534.    EXAMPLE
  535.  
  536.    NOTES
  537.   Title must be exact including "_" as required.
  538.  
  539.   This should be called from a MPG_MENUHOOK supplied to AllocMPGuiHandle().
  540.   e.g. If a Reset To Defaults... menu item is called.
  541.  
  542.   BUTTON gadgets can not have there attributes set.
  543.  
  544.    BUGS
  545.   For an MLIST gadget if a value is a substring of another gadget then the
  546.   value can be incorrectly set.
  547.  
  548.   MTEXT/TEXT gadgets can not be updated.
  549.  
  550.    SEE ALSO
  551.   SyncMPGuiRequest().
  552.  
  553. MPGui.library/SyncMPGuiRequest                  MPGui.library/SyncMPGuiRequest
  554.  
  555.    NAME   
  556.   SyncMPGuiRequest -- Displays and processes an MPGui. (V3)
  557.  
  558.    SYNOPSIS
  559.   result = SyncMPGuiRequest( fname, gh)
  560.   D0                         A0     A1
  561.  
  562.   char * SyncMPGuiRequest( char *, struct MPGuiHandle *);
  563.  
  564.    FUNCTION
  565.   Displays an MPGuiHandle allocated by AllocMPGuiHandle() and processes all
  566.   messages.
  567.  
  568.    INPUTS
  569.   fname - name of file describing gui.
  570.   gh    - MPGuiHandle allocated by AllocMPGuiHandle().
  571.  
  572.    RESULT
  573.   Attributes of the MPGui if Save/Use/Ok was used.
  574.   0 if Cancel was used/window closed/Esc pressed.
  575.   -1 for error. Use MPGuiError() to get error.
  576.  
  577.    EXAMPLE
  578.  
  579.    NOTES
  580.   If MPG_PREFS was supplied to AllocMPGuiHandle() then use MPGuiResponse()
  581.   to determine if Save or Use was pressed.
  582.  
  583.   If the requester will not fit in one column with the default screen font
  584.   then it falls back in the following order until it fits:
  585.  
  586.     Compressed vertical seperation;
  587.     Default fixed font;
  588.     Default fixed font with compressed vertical seperation;
  589.     Topaz 80;
  590.     Topaz 80 with compressed vertical seperation;
  591.     Two columns topaz 80 with compressed vertical seperation;
  592.     3 or more columns topaz 80 with compressed vertical seperation.
  593.  
  594.    BUGS
  595.   When trying to cope with very small screens/very large requesters it can
  596.   result in gadgets with negative width which can crash the system. This
  597.   should only happen if more than 2 columns are required.
  598.  
  599.   Fixed in version 5.1 Buttons with no Title going to a new column
  600.  
  601.    SEE ALSO
  602.   AllocMPGuiHandleA(),MPGuiError(),MPGuiResponse().
  603.  
  604. MPGui.library/WriteMPGui                              MPGui.library/WriteMPGui
  605.  
  606.    NAME   
  607.   WriteMPGui -- Writes information for an MPGui. (V4)
  608.  
  609.    SYNOPSIS
  610.   result = WriteMPGui( fname, gh)
  611.   D0                         A0     A1
  612.  
  613.   BOOL WriteMPGui( char *, struct MPGuiHandle *);
  614.  
  615.    FUNCTION
  616.   Writes all the information in the file for an MPGuiHandle allocated by
  617.   AllocMPGuiHandle().
  618.  
  619.    INPUTS
  620.   fname - name of file to describe the gui.
  621.   gh    - MPGuiHandle allocated by AllocMPGuiHandle().
  622.  
  623.    RESULT
  624.   TRUE if file written OK
  625.   FALSE for error. Use MPGuiError() to get error.
  626.  
  627.    EXAMPLE
  628.  
  629.    NOTES
  630.   Ignores any tags supplied to AllocMPGuiHandleA().
  631.  
  632.   This currently serves no purpose, but may be later used for a gui based
  633.   gui designer.
  634.  
  635.    BUGS
  636.  
  637.  Currently does nothing!
  638.  Does not handle TEXT/MTEXT
  639.  
  640.    SEE ALSO
  641.   AllocMPGuiHandleA(),MPGuiError(),ReadMPGui().
  642.  
  643.